<?php 
	//这段代码不管是第一次打开编辑页面; 还是提交表单都会执行
	if($_GET['id']){
		$id=$_GET['id'];
		$str=file_get_contents('music.json');
		$arr=json_decode($str,true);
		$current;
		foreach($arr as $key=>$item){
			if($id==$item['id']){
				$current=$item;
				break;
			}
		}
	}else{
		header('Location:list.php');
	}

	//只有提交表单后才执行
	if($_SERVER['REQUEST_METHOD']==='POST'){
		//创建数组,存储错误信息
		$errorArr=[];
		// 验证用户数据    1.判断是否有输入          2.判断有输入但是输入的是否是空格字符串
		if(!isset($_POST["title"]) || trim($_POST["title"]) === ""){
			$errorArr[] = "没有输入标题";
		}
		if(!isset($_POST["geshou"]) || trim($_POST["geshou"]) === ""){
			$errorArr[] = "没有输入歌手";
		}
		if(!isset($_POST["zhuanji"]) || trim($_POST["zhuanji"]) === ""){
			$errorArr[] = "没有输入专辑";
		}
		//调用上传文件
		$arr_upload=upload();
		
		//音乐上传失败
		if(!empty($arr_upload['error'])){
			$errorArr[]=$arr_upload['error'];  //没有上传文件		
		}
		//如果错误数组$errorArr为空,则修改music.json; 否则不做任何修改
		if(empty($errorArr)){
			//修改music.json
			$str=file_get_contents('music.json');
			$arr=json_decode($str,true);
			foreach($arr as $key=>$item){
				if($id==$item['id']){
					// $item['title']=$_POST['title'];
					$arr[$key]['title']=$_POST['title'];
					$arr[$key]['singer']=$_POST['geshou'];
					$arr[$key]['album']=$_POST['zhuanji'];
					if($arr_upload['music_name']){
						$arr[$key]['src']=$arr_upload['music_name'];
					}
					break;
				}
			}
			//重新写入music.json
			file_put_contents('music.json',json_encode($arr));
			//跳转到list.php
			header('Location:list.php');
		}	

	}	

	//音乐文件上传
	function upload(){
		$output=array(
			'error'=>NULL,			//错误信息;默认为NULL
			'music_name'=>NULL,		//音乐文件保存路径;默认为NULL
		);
		//上传了文件
		if(!empty($_FILES["source"]['name'])){
			
			//上传失败
			if($_FILES["source"]["error"]>0){
				$output['error']="上传音乐失败";
			}else{	//上传成功
				
				$output['music_name']="./mp3/".time().strrchr($_FILES["source"]["name"],'.');
				$res=move_uploaded_file($_FILES["source"]["tmp_name"],$output['music_name']);
			}
		}
		return $output;
	}

	require_once 'views/edit_tpl.php';
?>